﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MMK.PaketTracker.Server.Definitions;
using System.Data;

namespace MMK.PaketTracker.Server.Database
{
    public class MitarbeiterSqlDataLayer : BaseSqlDataLayer
    {
        public MitarbeiterSqlDataLayer(string DbConnectionString) { this.Initialize(DbConnectionString); }
        
        public List<Mitarbeiter> GetMitarbeiter()
        {
            List<Mitarbeiter> coll = new List<Mitarbeiter>();
            
            string sql = "SELECT * FROM Mitarbeiter";

            using (IDataReader reader = this.GetDataReader(sql))
            {
                while (reader.Read())
                {
                    coll.Add(LoadMitarbeiteFromDataReader(reader));
                }
            }

            return coll;
        }

        private Mitarbeiter LoadMitarbeiteFromDataReader(IDataReader reader)
        {
            Mitarbeiter mitarbeiter = new Mitarbeiter(this.GetGuid(reader, "ID"));
            mitarbeiter.Barcode = this.GetString(reader, "Barcode");
            mitarbeiter.Name = this.GetString(reader, "Name");
            mitarbeiter.Vorname = this.GetString(reader, "Vorname");

            return mitarbeiter;
        }
    }
}
